package nuc.ss.shopping;

import nuc.ss.shopping.entity.User;

import java.io.*;

public class TestBufferedStream {
    public static void main(String[] args) throws IOException {
        //创建一个用户
        User user = new User("u00001","赵子锐","123456","管理员",'男',"太原");

        //创建一个文件
        File f = new File("E:\\java_new\\java_code\\J2024_12_8_2\\src\\User.txt");
        FileWriter fw = null;
        BufferedWriter bw = null;
        try {
            //将用户信息写入文件
            // 创建一根字符输出流 细 管道
            fw = new FileWriter(f,true);//以追加的方式写文件
            // 创建一根字符输出流 粗 管道
            bw = new BufferedWriter(fw);//注意这里接的是细管道
            //打开水龙头：相当于调用write方法
            bw.write(user.toString());


        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            if (bw != null) {
                bw.close(); //先关粗的，再关细的
            }
            if (fw != null) {
                fw.close();
            }
        }

        //从文件中读出用户信息
        //创建一根字符输入流管道 - 细管道
        FileReader fr = new FileReader(f);
        //创建一根字符输入流管道 - 粗管道
        BufferedReader br = new BufferedReader(fr);
        //打开水龙头 // 增加了按行读写的能力
        String str = null;
        while ((str = br.readLine()) != null) {
            System.out.println(str);
        }
        if (fr != null) {
            fr.close(); //读的时候先关细的管道
        }
        if (br != null) {
            br.close();
        }
    }
}
